<!DOCTYPE html>
<html>
	<head>
		<title>设置个人资料</title>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
		<link rel="stylesheet" href="/js/bootstrap-4.1.1-dist/css/bootstrap.min.css">
		<script src="/js/jquery/jquery.min.js"></script>
		<script src="/js/plugins/form/jquery.form.js"></script>
		<script src="/js/bootstrap-4.1.1-dist/js/bootstrap.min.js"></script>
		<link rel="stylesheet" href="/css/font/css/font-awesome.min.css" />
		<link rel="stylesheet" href="/css/reset.css" />
		<link rel="stylesheet" href="/css/myInfo.css" />
		<script src="/js/plugins/jrender/jrender.min.js"></script>
		<script>
            $(function () {
                //获取当前登录的用户信息
                var user=JSON.parse(sessionStorage.getItem("user"));
                //渲染数据
                $(".info").renderValues(user);
                //设置背景图片,加样式
				$(".myBg").css('background-image','url("'+user.coverImgUrl+'")');


				//设置表单地址,id是会变的,对对应id的用户进行操作,所以id隐藏域可以不要了
				$("#infoForm").attr('action','/users/'+user.id);
				//提交表单,保存用户信息
				$("#saveBtn").click(function () {
					$("#infoForm").ajaxSubmit(function (data) {
						if(data.success){
							//操作成功,重新存一遍当前用户
							sessionStorage.setItem("user",JSON.stringify(data.result));
							//跳转到个人主页
							window.location.href="/mine/profiles.html";
						}
                    });
                });


				var flag;
				//头像旁边有个按钮,用来开启文件上传的,但是文件上传的控件并不是它,所以我们绑定点击事件
				$("#headBtn").click(function () {
					//点击事件中触发文件上传控件的点击事件,就相当于点了那个按钮
					$("#file").click();
					flag=true;
                });
				//修改背景也有一套,立一个flag来区分进行的是什么操作
                $("#coverBtn").click(function () {
                    //点击事件中触发文件上传控件的点击事件,就相当于点了那个按钮
                    $("#file").click();
                    flag=false;
                });


				//打开文件选择时,发ajax请求去资源中处理图片,当文件上传控件发送变化时就提交
				$("#file").change(function(){
				    //文件框有值才会发送ajax请求
					if($(this).val()){
						//发送ajax请求
						$("#fileForm").ajaxSubmit(function (data) {
					    //回调函数中
						if(data.status==1){
						    if(flag){
							//操作成功,回显图片
							$("#headImg").attr("src",data.url);
							//同时图片隐藏域的值也要变化
							$("#infoForm input[name='headImgUrl']").val(data.url);
							}else{
								//操作成功,回显背景
                                $(".myBg").css('background-image','url("'+data.url+'")');
                                //同时图片隐藏域的值也要变化
                                $("#infoForm input[name='coverImgUrl']").val(data.url);
							}
						}
                    });
					}
                });
            });
		</script>

	</head>

	<body>
		<!--将文件上传控件包在表单里-->
		<form id="fileForm" action="/images" method="post" enctype="multipart/form-data">
			<!--隐藏的文件上传控件-->
			<input id="file" type="file" style="display: none" name="file">
		</form>

		<div class="search-head">
			<div class="row nav-search">
				<div class="col">
					<a href="javascript:window.history.go(-1);">
						<span>取消</span>
					</a>
				</div>
				<div class="col">
					<span>设置个人资料</span>
				</div>
				<div class="col" >
					<a href="#" id="saveBtn" >
						<span>保存</span>
					</a>
				</div>
			</div>
		</div>

		<div class="container info">
			<div class="myBg">
				<img id="headImg"  class="rounded-circle" render-src="headImgUrl"/>
				<div class="editHead" id="headBtn"><i class="fa fa-pencil-square fa-lg " aria-hidden="true"></i></div>
				<button  class="btn btn-outline-light ibtn " id="coverBtn">设置背景</button>
			</div>

			<form id="infoForm" method="post" >
					<!--可以不要了-->
					<!--<input type="hidden" name="id" render-value="id">-->
					<!--头像和背景的信息不在表单中,用隐藏域存放-->
					<input type="hidden" name="headImgUrl" render-value="headImgUrl">
					<input type="hidden" name="coverImgUrl" render-value="coverImgUrl">
					<input type="hidden" name="_method" value="put">

				<div>
					<label>昵称</label><input type="text" name="nickName" class="form-control" render-value="nickName">
				</div>
				<div>
					<label>性别</label>
						<select class="form-control" name="gender" render-value="gender">
							<option value="-1">保密</option>
							<option value="1">男</option>
							<option value="0">女</option>
						</select>
				</div>
				<div>
					<label>地区</label><input type="text" name="place"  class="form-control" render-value="place">
				</div>
				<div>
					<label>签名</label><textarea name="sign" class="form-control" rows="5" render-value="sign"></textarea>
				</div>
			</form>
		</div>
		
		
		
	</body>
</html>
